Grid computing is about sharing resources located in different places, based on different architectures, and belonging to different management domains. A grid can connect computing centers over multiple continents, enabling client computers to share resources and foster collaboration among the users. A grid provides clients with access to otherwise incompatible resources. The grid management software acts as an interpreter between the communication and security protocols of dissimilar computer systems on the grid.
Grid management software, such as Globus Toolkit®, comprise of a collection of programs and libraries for managing grid resources. The grid management software performs functions such as tracking information about users, projects and available resources, as well as managing security protocols used to establish secure communications between clients and the grid resources. Tracking functions include receiving status updates directly from grid resources and storing status information in logs.
A major functionality of a grid system is the capability to submit jobs to heterogeneous resources. These jobs are binary executables or commands submitted by clients to be run on a remote server. Clients submit jobs to the grid through a piece of grid management software called a scheduler. The scheduler assigns the job to a resource (or set of resources) on the grid. The grid management software uses the client's security credentials to access the chosen grid resource and execute the job. The grid resource authenticates the client's credentials and authorizes execution of the job. “Security delegation” is the term used to describe the grid management software's use of the client's security credentials to access a grid resource. Examples of security credentials include identity (such as user names or account numbers), passwords, certificates and may even include privacy or encryption requirements. Security delegation is required because the grid management software must translate the security credentials into a format compatible with the accessed resource. The security delegation lasts until the job is fully executed and the results are returned to the client.
Security concerns arise for jobs with long time durations. A security compromise on the resource running the job may violate the terms of the security delegation. There is no known method of enforcing the terms of a security delegation after a job begins to execute. A need exists for a system and method of alerting grid clients when a security compromise occurs on a resource executing a job.